package com.ncepu.clubmanagement.service;

import com.ncepu.clubmanagement.pojo.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface ClubService {

    void addClub(ClubAdd clubAdd);

    PageBean getClub(Integer page, Integer pageSize, String clubName);

    void addPersonToClub(ClubSelection clubSelection);

    PageBean getJoinedClub(Integer page, Integer pageSize, String clubName, Integer personId);

    PageBean getManagedClub(Integer page, Integer pageSize, String clubName, Integer personId);

    public boolean isJoinedOrManaged(Integer personId,Integer clubId);

    List<Club> getJoinedClubWithoutPage(String clubName, Integer personId);

    List<Club> getManagedClubWithoutPage(String clubName, Integer personId);

    ClubChangeableInfoWithManager getClubChangeableInfoWithoutManager(Integer clubId);

    void removePersonFromClub(ClubSelection clubSelection);

    boolean isJoined(Integer personId, Integer clubId);

    void updateClubInfoByURL(ClubModify clubChange) throws Exception;

    public  boolean isManaged(Integer personId, Integer clubId);

    public void updateClubInfo(ClubModify clubModify, MultipartFile file) throws Exception;

    public boolean checkIsManagedInClub(Integer sourcePersonId, Integer targetPersonId);

    void deleteClub(Integer clubId);

    public List<Integer> getManagedClubIdWithoutPage(String clubName, Integer personId);
}